package com.hfdg.prototype.base.mapper;
import java.util.List;

/*
 * @Author: yuelh
 * @Description:  TODO  具体涉及数据操作，以逻辑主键UID作为数据唯一标识
 * @Date:  2019/1/15 22:44
 **/
public interface BaseMapper<T> {
    /*
     * @Author: yuelh
     * @Description:  TODO  实体类对应table初始化
     * @Date:  2019/1/15 22:44 
     * @Param: [clazz]
     * @return: void
     **/
    public void tableInit();
    /*
     * @Author: yuelh
     * @Description:  TODO  插入实体类对象
     * @Date:  2019/1/15 22:45
     * @Param: [t]
     * @return: int
     **/
    public int insert(T t);
    /*
     * @Author: yuelh
     * @Description:  TODO  获取单个实体类对象
     * @Date:  2019/1/15 22:46 
     * @Param: [conditions]
     * @return: T
     **/
    public T get(String uid);
    /*
     * @Author: yuelh
     * @Description:  TODO  获取指定对象列表
     * @Date:  2019/1/15 22:48 
     * @Param: [t] 查询参数
     * @return: java.util.List<T>
     **/
    public List<T> list(T t);
    /*
     * @Author: yuelh
     * @Description:  TODO 
     * @Date:  2019/1/15 22:46 
     * @Param: [t]
     * @return: int
     **/
    public int update(T t);
    /*
     * @Author: yuelh
     * @Description:  TODO 
     * @Date:  2019/1/15 22:46 
     * @Param: [conditions]
     * @return: int
     **/
    public int delete(String uid);
    /*
     * @Author: yuelh
     * @Description:  TODO  批量删除
     * @Date:  2019/1/15 22:46 
     * @Param: [ids]
     * @return: int
     **/
    public int batchDelete(String[] uids);
}
